﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Capa_Negocio_Interface;
using Capa_Negocio_Facade;
using Capa_Entidad;

public partial class Clinica_wfAtencionHistoriaPersonal : System.Web.UI.Page
{

    IFacadeRegistrarHistoriaPersonal FacadeHistoriaPersonal = null;
    private static string operacion = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Page.IsPostBack == false)
        {

            if (Session["Ate_Operacion"] == null)
            {
                Response.Redirect("wfAtencionListado.aspx");
                return;
            }


            if (Session["Ate_Operacion"].ToString() == "C") {
                operacion = "C";

            }
            else if (Session["Ate_Operacion"].ToString() == "M") {

                operacion = "M";
                ObtenerDatos();
            
            }


           

        }
    }


    private void Grabar()
    {


        try
        {
            FacadeHistoriaPersonal = new FacadeRegistrarHistoriaPersonal();
            ATE_HISTORIA_PERSONAL l = new ATE_HISTORIA_PERSONAL();
            //l.ATE_ID_ATENCION = Convert.ToInt32(Session["IdAtencion"]);
            if (rbtCrecimiento.Items[0].Selected == true)
            {
                l.HISPER_FLAG_CRECIMIENTO = "N";
            }
            else if (rbtCrecimiento.Items[1].Selected == true)
            {
                l.HISPER_FLAG_CRECIMIENTO = "D";

            }
            else
            {

                l.HISPER_FLAG_CRECIMIENTO = "";
            }



            if (rbtVacuna.Items[0].Selected == true)
            {
                l.HISPER_FLAG_VACUNACIONES = "S";
            }
            else if (rbtVacuna.Items[1].Selected == true)
            {
                l.HISPER_FLAG_VACUNACIONES = "N";

            }
            else
            {
                l.HISPER_FLAG_VACUNACIONES = "";

            }



            l.HISPER_ESPECIFICAR_VACUNACIONES = txtEspecificarVacunacion.Text;


            if (rbtPersonalidad.Items[0].Selected == true)
            {
                l.HISPER_FLAG_PERSONALIDAD = "A";
            }
            else if (rbtPersonalidad.Items[1].Selected == true)
            {
                l.HISPER_FLAG_PERSONALIDAD = "I";

            }
            else
            {

                l.HISPER_FLAG_PERSONALIDAD = "";
            }

            if (rbtHistoriaSexual.Items[0].Selected == true)
            {
                l.HISPER_FLAG_HISTORIA_SEXUAL = "E";
            }
            else if (rbtHistoriaSexual.Items[1].Selected == true)
            {
                l.HISPER_FLAG_HISTORIA_SEXUAL = "H";

            }
            else
            {

                l.HISPER_FLAG_HISTORIA_SEXUAL = "";
            }


            l.HISPER_ENFERMEDADES_MEDICAS = txtDescripcionMedicas.Text;
            l.HISPER_ENFERMEDADES_QUIRURGICAS = txtDescipcionQuirurgicas.Text;
            l.HISPER_COMPLICACIONES_OPERACIONES_PREVIAS = txtComplicaciones.Text;

            if (rbtAlergia.Items[0].Selected == true)
            {
                l.HISPER_FLAG_ALERGIAS = "S";
            }
            else if (rbtAlergia.Items[1].Selected == true)
            {
                l.HISPER_FLAG_ALERGIAS = "N";

            }
            else
            {
                l.HISPER_FLAG_ALERGIAS = "N";

            }

            l.HISPER_ESPECIFICAR_ALERGIAS = txtEspecificarAlergia.Text;


            if (rbtTransfusiones.Items[0].Selected == true)
            {
                l.HISPER_FLAG_TRANSFUSIONES_PREVIAS = "S";
            }
            else if (rbtTransfusiones.Items[1].Selected == true)
            {
                l.HISPER_FLAG_TRANSFUSIONES_PREVIAS = "N";

            }
            else
            {

                l.HISPER_FLAG_TRANSFUSIONES_PREVIAS = "";
            }
            l.HISPER_COMPLICACIONES_TRANSFUSIONES_PREVIAS = txtComplicacionesTransfucionesPrevias.Text;


            if (FacadeHistoriaPersonal.Insertar(l))
            {
                operacion = "M";
                lblMensaje.Text = "Se grabó correctamente";
                pcMensaje.ShowOnPageLoad = true;

            }
            else
            {

                lblMensaje.Text = "Error";
                pcMensaje.ShowOnPageLoad = true;
            }
        }
        catch (Exception ex)
        {
            lblMensaje.Text = "Error: "+ ex.Message;
            pcMensaje.ShowOnPageLoad = true;
           
        }


       


    }


    private void Modificar()
    {

        try
        {
            FacadeHistoriaPersonal = new FacadeRegistrarHistoriaPersonal();

            ATE_HISTORIA_PERSONAL l = new ATE_HISTORIA_PERSONAL();
            //l.ATE_ID_ATENCION = Convert.ToInt32(Session["IdAtencion"]);
            if (rbtCrecimiento.Items[0].Selected == true)
            {
                l.HISPER_FLAG_CRECIMIENTO = "N";
            }
            else if (rbtCrecimiento.Items[1].Selected == true)
            {
                l.HISPER_FLAG_CRECIMIENTO = "D";

            }
            else
            {

                l.HISPER_FLAG_CRECIMIENTO = "";
            }



            if (rbtVacuna.Items[0].Selected == true)
            {
                l.HISPER_FLAG_VACUNACIONES = "S";
            }
            else if (rbtVacuna.Items[1].Selected == true)
            {
                l.HISPER_FLAG_VACUNACIONES = "N";

            }
            else
            {
                l.HISPER_FLAG_VACUNACIONES = "";

            }



            l.HISPER_ESPECIFICAR_VACUNACIONES = txtEspecificarVacunacion.Text;


            if (rbtPersonalidad.Items[0].Selected == true)
            {
                l.HISPER_FLAG_PERSONALIDAD = "A";
            }
            else if (rbtPersonalidad.Items[1].Selected == true)
            {
                l.HISPER_FLAG_PERSONALIDAD = "I";

            }
            else
            {

                l.HISPER_FLAG_PERSONALIDAD = "";
            }

            if (rbtHistoriaSexual.Items[0].Selected == true)
            {
                l.HISPER_FLAG_HISTORIA_SEXUAL = "E";
            }
            else if (rbtHistoriaSexual.Items[1].Selected == true)
            {
                l.HISPER_FLAG_HISTORIA_SEXUAL = "H";

            }
            else
            {

                l.HISPER_FLAG_HISTORIA_SEXUAL = "";
            }


            l.HISPER_ENFERMEDADES_MEDICAS = txtDescripcionMedicas.Text;
            l.HISPER_ENFERMEDADES_QUIRURGICAS = txtDescipcionQuirurgicas.Text;
            l.HISPER_COMPLICACIONES_OPERACIONES_PREVIAS = txtComplicaciones.Text;

            if (rbtAlergia.Items[0].Selected == true)
            {
                l.HISPER_FLAG_ALERGIAS = "S";
            }
            else if (rbtAlergia.Items[1].Selected == true)
            {
                l.HISPER_FLAG_ALERGIAS = "N";

            }
            else
            {
                l.HISPER_FLAG_ALERGIAS = "N";

            }

            l.HISPER_ESPECIFICAR_ALERGIAS = txtEspecificarAlergia.Text;


            if (rbtTransfusiones.Items[0].Selected == true)
            {
                l.HISPER_FLAG_TRANSFUSIONES_PREVIAS = "S";
            }
            else if (rbtTransfusiones.Items[1].Selected == true)
            {
                l.HISPER_FLAG_TRANSFUSIONES_PREVIAS = "N";

            }
            else
            {

                l.HISPER_FLAG_TRANSFUSIONES_PREVIAS = "";
            }
            l.HISPER_COMPLICACIONES_TRANSFUSIONES_PREVIAS = txtComplicacionesTransfucionesPrevias.Text;

            if (FacadeHistoriaPersonal.Modicar(l))
            {

                lblMensaje.Text = "Se actualizo correctamente";
                pcMensaje.ShowOnPageLoad = true;

            }
            else {
                lblMensaje.Text = "Error";
                pcMensaje.ShowOnPageLoad = true;
            }
        }
        catch (Exception ex)
        {

            lblMensaje.Text = "Error: " + ex.Message;
            pcMensaje.ShowOnPageLoad = true;
        }

        

    }


    private void ObtenerDatos()
    {


        try
        {
            FacadeHistoriaPersonal = new FacadeRegistrarHistoriaPersonal();
            List<ATE_HISTORIA_PERSONAL> list = FacadeHistoriaPersonal.getHistoria(Convert.ToInt32(Session["IdAtencion"]));

            if (list.Count() == 0)
            {
                operacion = "C";
                return;
            }

            if (list[0].HISPER_FLAG_CRECIMIENTO == "N")
            {
                rbtCrecimiento.Items[0].Selected = true;
            }
            else if (list[0].HISPER_FLAG_CRECIMIENTO == "D")
            {
                rbtCrecimiento.Items[1].Selected = true;
            }

            if (list[0].HISPER_FLAG_VACUNACIONES == "S")
            {
                rbtVacuna.Items[0].Selected = true;
            }
            else if (list[0].HISPER_FLAG_VACUNACIONES == "N")
            {
                rbtVacuna.Items[1].Selected = true;

            }

            txtEspecificarVacunacion.Text = list[0].HISPER_ESPECIFICAR_VACUNACIONES;

            if (list[0].HISPER_FLAG_PERSONALIDAD == "A")
            {
                rbtPersonalidad.Items[0].Selected = true;
            }
            else if (list[0].HISPER_FLAG_PERSONALIDAD == "I")
            {
                rbtPersonalidad.Items[1].Selected = true;
            }

            if (list[0].HISPER_FLAG_HISTORIA_SEXUAL == "E")
            {
                rbtHistoriaSexual.Items[0].Selected = true;
            }
            else if (list[0].HISPER_FLAG_HISTORIA_SEXUAL == "H")
            {
                rbtHistoriaSexual.Items[1].Selected = true;
            }


            txtDescripcionMedicas.Text = list[0].HISPER_ENFERMEDADES_MEDICAS;
            txtDescipcionQuirurgicas.Text = list[0].HISPER_ENFERMEDADES_QUIRURGICAS;
            txtComplicaciones.Text = list[0].HISPER_COMPLICACIONES_OPERACIONES_PREVIAS;
            if (list[0].HISPER_FLAG_ALERGIAS == "S")
            {
                rbtAlergia.Items[0].Selected = true;
            }
            else if (list[0].HISPER_FLAG_ALERGIAS == "N")
            {
                rbtAlergia.Items[1].Selected = true;
            }

            txtEspecificarAlergia.Text = list[0].HISPER_ESPECIFICAR_ALERGIAS;

            if (list[0].HISPER_FLAG_TRANSFUSIONES_PREVIAS == "S")
            {
                rbtTransfusiones.Items[0].Selected = true;
            }
            else if (list[0].HISPER_FLAG_TRANSFUSIONES_PREVIAS == "N")
            {
                rbtTransfusiones.Items[1].Selected = true;
            }


            txtComplicacionesTransfucionesPrevias.Text = list[0].HISPER_COMPLICACIONES_TRANSFUSIONES_PREVIAS;
        }
        catch (Exception ex)
        {

            lblMensaje.Text = "ERROR: " + ex.Message;
            pcMensaje.ShowOnPageLoad = true;
        }


      
    }


    protected void btnAceptar_Click(object sender, EventArgs e)
    {
        if (Session["Ate_Operacion"].ToString() == "P")
        {
            return;
        }
        if (operacion == "C") {
            this.Grabar();

        }else if(operacion=="M"){

            this.Modificar();
        }
    }
}